﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UYD_WCS_AS_AGV_Controller.AGV.Model
{
    public class WCS_AGV_TASK
    {
        /// <summary>
        /// id
        /// </summary>
        public int id { get; set; }
        /// <summary>
        /// WCS发送的起始取货位置
        /// </summary>
        public string startPosition { get; set; } = "";

        /// <summary>
        /// WCS发送的起始放货位置
        /// </summary>
        public string endPosition { get; set; } = "";

        public string priority { get; set; } = "";
        /// <summary>
        /// 请求编号
        /// </summary>
        public string reqCode { get; set; } = "";
        /// <summary>
        /// 当前任务单号
        /// </summary>
        public string taskCode { get; set; } = "";
        /// <summary>
        /// 请求时间
        /// </summary>
        public string reqTime { get; set; } = "";



        /// <summary>
        /// WCS发送的起始取货对应的排
        /// </summary>
        public short startLocGroup { get; set; } = 0;
        /// <summary>
        /// WCS发送的起始取货对应的列
        /// </summary>
        public short startLocColl { get; set; } = 0;
        /// <summary>
        /// WCS发送的起始取货对应的层
        /// </summary>
        public short startLocFloor { get; set; } =0;


        /// <summary>
        /// WCS发送的起始放货对应的排
        /// </summary>
        public short endLocGroup { get; set; } = 0;
        /// <summary>
        /// WCS发送的起始放货对应的列
        /// </summary>
        public short endLocColl { get; set; } = 0;
        /// <summary>
        /// WCS发送的起始放货对应的层
        /// </summary>
        public short endLocFloor { get; set; } = 0;

        /// <summary>
        /// WCS发送的起始放货位置对应的 AGV内部位置
        /// </summary>
        public string startAgvLoc { get; set; } = "";
        /// <summary>
        /// WCS发送的起始放货位置对应的 AGV内部位置
        /// </summary>
        public string endAgvLoc { get; set; } = "";

        /// <summary>
        /// 货叉升降执行状态  0：空闲 /2：取货执行升降完成/4：放货执行升降完成/6回缓存伴执行升降完成
        /// </summary>
        public string forkHStatus { get; set; } = "";

        /// <summary>
        /// AGV实时任务状态 0：空闲 /1：待执行/2：取货行走中/3:到达取货位/4：取货货叉移动完成
        /// /5：取货完成/6：放货行走中/7：到达放货位/8：放货货叉移动完成/9：放货完成/10：放货返回移动中/11：任务完成(到达默认位置)
        /// /12:任务手动完成 /13:任务强制完成
        /// /100:任务取消
        /// </summary>
        public int taskStatus { get; set; } = 0;

    }
}
